User interface element for surfacing related results

ABSTRACT

Disclosed are various embodiments for editable search. A computing device generates a network page that includes a title that is interactive or modifiable. In response to a user-selected attribute being selected from the title, an item catalog is searched to identify available items with different attribute values for the user-selected attribute. A menu with one or more different attribute value is rendered in relation to the user-selected attribute from the title. A different attribute value is selected from the menu and the network page is updated to include the different attribute value in place of the user-selected attribute in the title.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of, and claims priority to, U.S.patent application entitled “USER INTERFACE ELEMENT FOR SURFACINGRELATED RESULTS,” filed on Mar. 18, 2016, and assigned application Ser.No. 15/074,343, which is incorporated herein by reference in itsentirety.

BACKGROUND

Network pages often contain options for viewing content or selectingfrom multiple versions of content. For example, a search page mayprovide a user with a listing of search results linking to differentnetwork pages containing content relevant to a search query. If a userwants to see a related set of search results, the user can enter a newquery using slight variation of existing keywords (e.g., substitutingone keyword in a search query for a similar keywords). However, a usermay have to rely on trial and error to identity alternative keywordsthat will return the desired set of similar search results. Likewise, anetwork page displaying a listing for an item may present a user withthe option to select from several variations of the item for sale by theparticular seller on electronic commerce site. However, a user may beunaware which other variations are available from other sellers throughthe electronic commerce site. As a result, a user may have to use atrial and error approach to find relevant alternatives from othersellers by submitting a series of searches containing differentkeywords.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure can be better understood withreference to the following drawings. The components in the drawings arenot necessarily to scale, with emphasis instead being placed uponclearly illustrating the principles of the disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1A is a pictorial diagram of an example user interface renderedduring the operation of various embodiments of the present disclosure.

FIG. 1B is a pictorial diagram of an example user interface renderedduring the operation of various embodiments of the present disclosure.

FIG. 1C is a pictorial diagram of an example user interface renderedduring the operation of various embodiments of the present disclosure.

FIG. 1D is a pictorial diagram of an example user interface renderedduring the operation of various embodiments of the present disclosure.

FIG. 1E is a pictorial diagram of an example user interface renderedduring the operation of various embodiments of the present disclosure.

FIG. 1F is a pictorial diagram of an example user interface renderedduring the operation of various embodiments of the present disclosure.

FIG. 2 is a drawing of a networked environment according to variousembodiments of the present disclosure.

FIG. 3 is a flowchart illustrating one example of functionalityimplemented as portions of an application executed in the networkedenvironment of FIG. 2 according to various embodiments of the presentdisclosure.

FIG. 4 is a flowchart illustrating one example of functionalityimplemented as portions of an application executed in the networkedenvironment of FIG. 2 according to various embodiments of the presentdisclosure.

FIG. 5 is a flowchart illustrating one example of functionalityimplemented as portions of an application executed in the networkedenvironment of FIG. 2 according to various embodiments of the presentdisclosure.

FIG. 6 is a flowchart illustrating one example of functionalityimplemented as portions of an application executed in the networkedenvironment of FIG. 2 according to various embodiments of the presentdisclosure.

FIG. 7 is a schematic block diagram that provides one exampleillustration of a computing environment employed in the networkedenvironment of FIG. 2 according to various embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Disclosed are various embodiments for implementing a user interface forsurfacing related search results. In many instances, users may wish torefine a search, but are unaware of the set of available keywords thatwould produce additional, relevant results. For example, if a user isviewing a network page related to an item for sale, the user may wish tofind other network pages related to other versions of the item. However,the user may be unaware as to what other versions of the item exist. Forexample, the user may be unaware of which colors or sizes are available.Further, it is possible that some sizes or colors may be available fromone seller or available on one electronic commerce platform, but othersizes or colors may be available from another seller or on availablefrom another electronic commerce platform.

To surface alternative search terms or keywords to the user in an easilydiscoverable manner, a network page can include a user interface elementthat surfaces alternative search terms or keywords that would result ina related set of search results. In order to see alternative searchresults, a user could select an individual search term and be presentedwith a list of alternative search terms to select. Selecting thealternative search term would provide the user with a list of relatedsearch results based on the alternative search term. Likewise, if a userwished to see an alternative version of a product (e.g., a differentcolor, a different size, a different quantity, or similar variation), auser could select a term in the title (e.g., the most prominent textdescribing the product represented on the network page) of the networkpage for the product. The user would then be presented with a list ofalternative terms to select. Once the user selects an alternative term,the user would be presented with a network page corresponding to thealternative version of the product. In the following discussion, ageneral description of the system and its components is provided,followed by a discussion of the operation of the same.

With reference to FIG. 1A, shown is a user interface diagram depictingthe operation of various embodiments of the present disclosure. The userinterface 100 a depicts a network page 103 a that includes a number ofuser interface elements. However, similar functionality can be providedthrough other user interfaces.

The network page 103 a depicted provides an example of an electroniccommerce storefront. As illustrated, the network page 103 a includes atitle element 106 a, which identifies the item displayed on the networkpage 103 a. The title element 106 a can include the name of the item, adescription of the item, and other data. For example, the title element106 a depicted includes the name of the item (e.g., “mini-skirt”) andseveral descriptive elements (e.g., “Red,” “Size 4,” and “Joanna Baylor”brand).

The title element 106 a could include other types of information forother types of products. For example, the title element 106 a of anetwork page 103 a for paper towels could include the brand, the size(e.g., “small,” “medium,” “large,” “extra-large,” or variationsthereof), the quantity (e.g., single roll, 6 rolls, 12 rolls, 24 rolls,etc.), and other relevant information distinguishing the paper towelsdisplayed on the network page 106 a from other paper towels availablethrough the electronic commerce store. Likewise, a title element 106 afor a network page 103 a for other types of products could include othertypes of distinguishing information for that particular productcategory.

In addition, the title element 106 a can include one or more functioncalls to a script for each term in the title element 106 a. For example,each term (e.g., a word or phrase) in the title element 106 a caninclude an embedded JAVASCRIPT® function call that triggers execution ofa script in response to a user selecting or manipulating the term. Anyindividual element of the network page 103 a could include a functioncall to the script. However, the function calls are preferentiallyincluded in the text of the network page 103 a corresponding to thetitle of the item due to the prominence of the text of the title element106 a relative to other text on the network page 103 a and because thetext of the title element 106 a tends to contain more words or phrasesthat would serve as useful search terms within the data set of which theitem or title element 106 a form a part relative to other sections oftext in the network page 103 a.

The title element 106 a can also include one or more visual cues orsimilar ingress indicators 107 a to signal to a user that a word,phrase, or other portion of the title element 106 a can be manipulatedby the user. For example, each word, phrase, or other portion of thetitle element 106 a that can be manipulated could be underlined, bolded,highlighted, rendered in a particular color, outlined (e.g., with a box)or otherwise emphasized.

FIG. 1B shows a user interface diagram illustrating the furtheroperation of various embodiments of the present disclosure such as thosedepicted in FIG. 1A. The user interface 100 b includes a network page103 b similar to the network page 103 a (FIG. 1A). Here, a user hasselected one of the terms in the title element 106 b with a mousecursor, causing a list of alternative terms 109 b to be displayed.However, the user could select a term in the title element 106 b usingother approaches (e.g., using his or her finger on a touch screendisplay). As illustrated, the user is currently viewing a network page103 b for a “Joanna Baylor Red Mini-Skirt, Size 4.” Since the user isinterested in other colors, the user has selected the term “Red” in thetitle element 106 b to select another color in the list of alternativeterms 109 b.

However, the user can also select other terms in the title element 106 bto see other versions of the item. For example, if the user wished topurchase the mini-skirt in a different size, the user could select theterm “Size 4” in the title element 106 b. Likewise, if the user wishedto see red mini-skirts in size 4 from other brands or manufacturers, theuser could have selected the term “Joanna Baylor” in the title element106 b. Similarly, if the user desired to see what other red articles ofclothing in size 4 were available from the “Joanna Baylor” brand, theuser could select the term “Mini-Skirt” from the title element 106 b.

FIG. 1C is a user interface diagram depicting one result of the userinteractions previously described in FIG. 1B. Here, the user interface100 c includes a network page 100 c similar to the network pages 103 a(FIG. 1A) and 103 b (FIG. 1B). Assuming that the user selected the color“Gold” from the list of alternative terms 109 b (FIG. 1B), the networkpage 103 c includes information related to a gold Joanna Baylormini-skirt in size 4. For example, the title element 106 c includes theterms “Joanna Baylor Gold Mini-Skirt, Size 4” and the item descriptiondescribes a “gold mini-skirt” as a result of the user selecting the term“Gold” from the list of alternative terms 109 b.

In an alternative embodiment, FIG. 1D depicts a user interface diagramillustrating the operation of another embodiment of the presentdisclosure. The user interface 100 d depicts a network page 103 d thatincludes a number of user interface elements. The user interfaceelements include a search bar 113 d containing one or more search terms116 d in addition to a list of search results 119 d related to thesearch terms 116 d. Although the search terms 116 d depict a productsearch for paper towels and the search results 119 d depict 12-countpackages of double ply paper towels of various brands available fromvarious vendors, the principles of the interface depicted can be appliedto any set of search terms 116 d. One or more search terms 116 d or setsof search terms 116 d can be marked with one or more visual cues orsimilar ingress indicators 117 d to signal to a user that search term116 d or group of search terms 116 d can be manipulated by the user. Forexample, each of the search terms 116 d that can be manipulated could beunderlined, bolded, highlighted, rendered in a particular color,outlined (e.g., with a box) or otherwise emphasized.

FIG. 1E shows a user interface diagram illustrating the furtheroperation of embodiments such as those depicted in FIG. 1D. The userinterface 100 e includes a network page 103 e similar to the networkpage 103 d (FIG. 1D). Here, a user has selected one of the search terms116 d (FIG. 1D) with a mouse cursor, causing a list of alternativesearch terms 123 e to be displayed. However, the user could select asearch term 116 d in the search bar 113 e using other approaches (e.g.,using his or her finger on a touch screen display). As illustrated, theuser is currently viewing search results 119 e for 12 packs of doubleply paper towels. Since the user is interested in other lot sizes, theuser has selected the search term 116 d “12 ct” to select another lotsize in the list of alternative search terms 123 e.

However, the user can also select other search terms 116 d. For example,if the user wished to look for single ply or triple ply paper towels,the user could select the search term 116 d “double ply” to causealternatives to be shown. Likewise, if the user wished to search forother double ply paper goods, the user could select the search term 116d “towels,” or “paper towels.”

Proceeding to FIG. 1F is a user interface diagram depicting one resultof the user interactions previously described in FIG. 1E. Here, the userinterface 100 f includes a network page 100 f similar to the networkpages 103 d (FIG. 1D) and 103 e (FIG. 1E). Assuming that the userselected the lot size “24 ct” from the list of alternative search terms123 e (FIG. 1E), the network page 103 f includes search results 119 fdepicting 24-count packages of double ply paper towels of various brandsavailable from various vendors.

With reference to FIG. 2, shown is a networked environment 200 accordingto various embodiments. The networked environment 200 includes acomputing environment 203 and a client device 206, which are in datacommunication with each other via a network 209. The network 209includes, for example, the Internet, intranets, extranets, wide areanetworks (WANs), local area networks (LANs), wired networks, wirelessnetworks, or any combination of two or more such networks. For example,a network 209 can include satellite networks, cable networks, Ethernetnetworks, and other types of networks.

The computing environment 203 can include a server computer or any othersystem providing computing capability. Alternatively, the computingenvironment 203 may employ a plurality of computing devices that may bearranged, for example, in one or more server banks, computer banks orother arrangements. Such computing devices may be located in a singleinstallation or may be distributed among many different geographicallocations. For example, the computing environment 203 may include aplurality of computing devices that together include a hosted computingresource, a grid computing resource, or any other distributed computingarrangement. In some cases, the computing environment 203 may correspondto an elastic computing resource where the allotted capacity ofprocessing, network, storage, or other computing-related resources mayvary over time.

Various applications or other functionality may be executed in thecomputing environment 203 according to various embodiments. Thecomponents executed on the computing environment 203, for example,include a network page server 213, a search engine 216, and otherapplications, services, processes, systems, engines, or functionalitynot discussed in detail herein. Although the functionality provided bythe network page server 213 and the search engine 216 is described asbeing provided by separate applications, the functionality provided bythe network page server 213 and the search engine 216 can, in someinstances, be provided by a single application.

The network page server 213 is executed to receive requests from aclient device 206 for a network page 103 and to provide the networkpages 103 in response. In some instances, the network page server 213can generate or assemble the network page 103 in response to therequest. In other instances, the network page 103 can correspond topreexisting content stored in the data store 223.

The search engine 216 is executed to identify search results 119corresponding to a search query 226 that includes one or more searchterms 116. The search engine 216 can, for example, parse, analyze, orotherwise identify entries in a search index 233 that match or areassociated with the search query 226. As an example, the search engine216 can compare one or more search terms 116 to individual entries inthe search index 233 and select entries in the search index 233 based onsuch factors as the number of keywords 116 appearing in the entry in thesearch index 233, the relevance of the entry to one or more of thekeywords 116, or potentially other factors.

Various data is stored in a data store 223 that is accessible to thecomputing environment 203. The data store 223 may be representative of aplurality of data stores 223 as can be appreciated. The data stored inthe data store 223, for example, is associated with the operation of thevarious applications or functional entities described below. The datastored in the data store 223 includes, for example, one or morepreviously submitted search queries 226, one or more user accounts 227,a search index 233, a script 236, or potentially other data.

A search query 226 corresponds to a search request submitted by theclient device 206 for one or more entries in the search index 233. Forexample, a search query 226 could correspond to a search for an item ina product catalog of an electronic commerce application. Likewise, thesearch query 226 could correspond to a search for one or more networkpages 103 or links to network pages 103 that include one or more of thesearch terms 116 in the search query 226.

A search query 226 can include one or more search terms 116. The searchterms 116 can include one or more keywords and can also include one ormore operators. A keyword can include a word or phrase representingcontent that a user wishes to retrieve from the search index 233. Anoperator can represent the relationship between one or more keywords.For example, if the search terms included the keywords “cherry,” “soda,”and “12 pack”, any entry in the search index 233 related to the keyword“cherry,” “soda,” or “12 pack” could be returned. However, a user coulduse the operator “+” (or “AND” or a similar operator) to create a searchquery of “cherry+soda+12 pack” to limit the search results 119 to thoseentries in the search index 233 that were related to 12 packs of cherrysoda.

A user account 227 can include data related to a user of the clientdevice 106. For example, the user account 227 could include customerdata for a user interacting with an electronic commerce site orapplication. Likewise, the user account 227 could include user datarelated to a user interacting with a search site or search application.Examples of the data included in the user account 227 include userpreferences 228, search queries 226 previously submitted by the user, aswell as other data. User preferences 228 can include user specificpreferred settings for various features. For example, user preferences228 could specify the order in which alternative terms 109 b (FIG. 1B)or 109 e (FIG. 1E) are listed.

The search index 233 represents a searchable listing of entries. Entriesin the search index 233 can include text, images, video, audio, links tonetwork pages (e.g., hyperlinks) or potentially other data. The searchindex 233 can be organized to optimize locating entries associated withone or more search terms 116 in a search query 226. For example, eachentry in the search index 233 can be linked to, associated with, orotherwise “tagged” with individual search terms 116. The search engine216 can then quickly respond to a search query 226 by identifying eachentry associated with one or more of the search terms 116 instead ofslowly search the corpus of each entry in the search index 233 todetermine whether one or more search terms 116 are present. An exampleof a search index 233 can include a product catalog that includeslistings for various items (e.g., image, description, price, and otherdata). Another example of a search index 233 can include an index oflinks to various network pages containing content.

The search index 233 can be populated with data in a number of ways. Forexample, the search index 233 could be populated with data as a vendormakes items available for sale through an electronic commerceapplication. As a vendor makes inventory available, the vendor cancreate entries in the search index that include details for each item(e.g., name, make, model, color(s), size(s), price, etc.). As anotherexample, the search index 233 can be populated automatically. Forexample, data could be added to the search index 233 as crawlers followlinks between network sites or network pages 103. Likewise, data couldbe added by tracking the search queries 226 submitted by users and theindividual search results 119 that the users select. A combination ofapproaches can also be used in some embodiments.

The script 236 corresponds to executable code that can be embedded orincluded in a network page 103. The script 236 can be configured toexecute on the client device 206 to perform various functions. Forexample, the script 236 can be configured to communicate with thenetwork page server 213 or the search engine 216 in order to update thenetwork page 103 after the network page 103 has been generated and sentto the client device 206 by the network page server 213. For instance,the script 236 can be configured to allow a user to select alternativesto search terms 116 previously submitted to the search engine 216, forma new search query 226 that includes the selected alternative searchterms 116, and update the search results 119 displayed on the networkpage 103. The script 236 can be further configured to perform thesefunctions using various techniques, such as asynchronous JAVASCRIPT® andextensible markup language (XML) (AJAX).

The client device 206 is representative of a plurality of client devicesthat may be coupled to the network 209. The client device 206 mayinclude, for example, a processor-based system such as a computersystem. Such a computer system may be embodied in the form of a desktopcomputer, a laptop computer, personal digital assistants, cellulartelephones, smartphones, set-top boxes, music players, web pads, tabletcomputer systems, game consoles, electronic book readers, or otherdevices with like capability. The client device 206 may include adisplay. The display may include one or more devices such as liquidcrystal display (LCD) displays, gas plasma-based flat panel displays,organic light emitting diode (OLED) displays, electrophoretic ink (Eink) displays, LCD projectors, or other types of display devices.

The client device 206 may be configured to execute various applicationssuch as a client application 239 or other applications. The clientapplication 239 may be executed in a client device 206, for example, toaccess network content served up by the computing environment 203 orother servers, thereby rendering a user interface on the display. Tothis end, the client application 239 may include, for example, abrowser, a dedicated application, etc., and the user interface 100 mayinclude a network page 103, an application screen, etc. The clientdevice 206 may be configured to execute applications beyond the clientapplication 239 such as, for example, email applications, socialnetworking applications, word processors, spreadsheets, or otherapplications.

Various types of data can also be stored on the client device 206 in aclient data store 243. The client data store 243 may be representativeof a plurality of client data store 243 as can be appreciated. The datastored in the client data store 243, for example, is associated with theoperation of the client application 239 or other functions performed bythe client device 206. The data stored in the client data store 243includes, for example, a network page 103 provided by the network pageserver 213 or potentially other data.

The network page 103 corresponds to a document generated by the networkpage server 213. The network page 103 can include markup language, suchas hypertext markup language (HTML) or extensible markup language (XML),that identifies individual elements of the network page 103 and definestheir spatial location relative to each other. For example, the networkpage 103 can include one or more search terms 116 that were submitted bya user to search for network content, one or more search results 119related to the submitted search terms, and a client executable script236 to provide interactive or dynamic functionality.

Accordingly, the network page 103 can correspond to a user interface fornetwork content. For example, the network page 103 could correspond tothe network page 103 a (FIG. 1A), the network page 103 b (FIG. 1B), thenetwork page 103 c (FIG. 1C), the network page 103 d (FIG. 1D), thenetwork page 103 e (FIG. 1E), or the network page 103 f (FIG. 1F).Likewise, the search terms 116 can include the search terms 116 d (FIG.1D), search terms 116 f (FIG. 1F), or individual terms in a titleelement, such as the title element 106 a (FIG. 1A), the title element106 b (FIG. 1B), or the title element 106 c (FIG. 1C).

Next, a general description of the operation of the various componentsof the networked environment 200 is provided. To illustrate theprinciples of the pending disclosure, the operation of severalembodiments will be described. However, the operation of the componentscan be applied to other embodiments as well.

In a first embodiment, a user employs the client application 239 tonavigate to a network page 103 corresponding to an item listed in aproduct catalog of an electronic commerce store. For example, the usermay navigate to a network page 103 similar to network page 103 a (FIG.1A). As previously described, the network page 103 a can include a titleelement 106 a (FIG. 1A) that includes one or more terms that describethe item on the network page 103 a.

In this example, in order to view other versions (e.g., different color,different size, or similar variant) of the item, the user may select aterm. An example of a user selecting the term in the title element 106 b(FIG. 1B) is illustrated in FIG. 1B. As the user selects the term in thetitle element 106 b, the script 236 causes the client application 239 torender a user interface element on the display of the client devicecontaining a list of alternative terms 109 b. The user interface elementcould include a dropdown menu rendered as an overlay over the networkpage 103 b. Another user interface element could include a pop-up windowoverlaid over the network page 103 b that contains the list ofalternative terms 109 b. The user is then able to select a term 116 fromthe list of alternative terms 109 b presented.

In response to the user selecting the term in title element 106 b (FIG.1B), the script 236 included in the network page 103 is executed by theclient application 239 to determine which term in the title element 106b was selected. The script 236 then modifies the title element 106 b ofthe network page 103 b to display a list of alternative terms, such asthe list of alternative search terms 109 b (FIG. 1B).

The list of alternative search terms 109 b may be retrieved by thescript 236 in several ways. In some instances, the list of alternativesearch terms 109 b can be stored in locally in the network page 103 orin the client data store 243. In these instances, the script 236 canreference the stored list of alternative search terms 109 b and modifythe network page 103 b to show the list of alternative search terms 109b. However, in other instances, the script 236 can instead request oneor more alternative terms from the network page server 213. For example,the script 236 may send a request for alternative terms to the networkpage server 213 and include in the request the term that the userselected in the title element 106 b of the network page 103 b.

In response, the network page server 213 can identify which search termsare valid alternatives to the term provided by the script 236 and sendthe identified alternative terms to the script 236. For example, if theterm provided by the script 236 represented a color of the item, thenthe network page server 213 could cause the search engine 216 toidentify other available colors for the item. The network page server213 could then send a response to the script 236 that included thealternate colors.

After a user has selected an alternative term, the script 236 thennotifies the network page server 213 which alternative term wasselected. The network page server 213 then retrieves information relatedto the new product and provides it to the script 236. For example, ifthe user was viewing a red item and then selected the color gold from alist of alternative colors, then script 236 would notify the networkpage server 213 that the color gold had been selected by the user. Thenetwork page server 213 would then retrieve the appropriate informationfor a gold version of the item (e.g., photos of a gold version of theitem, updated descriptive text for a gold version of the item, anupdated price for the gold version of the item, or potentially otherdata) from the search index 233 or similar product catalog and providethe information to the script 236. The script 236 could then update thecontent of the network page 103. However, in some instances, the script236 could instead request that the network page server 213 generate andprovided a new network page 103 corresponding to the alternative versionof the item to the client application 239. The script 236 could thencause the client application 239 to render the replace the currentnetwork page 103 with a new network page 103.

In a second embodiment, a user employs the client application 239 tonavigate to a network page 103 listing one or more search results 119.For example, the user may have navigated to a network page 103 d similarto network page 103 d (FIG. 1D) by submitting a search query 226containing the search terms 116 d (FIG. 1D) listed in the search bar 113d (FIG. 1D). In this example, in order to view other search results, theuser may select a search term 116 d in the search bar 116 d. An exampleof a user selecting a search term 116 d in the search bar 113 d isillustrated in FIG. 1E.

In response to the user selecting a search term 116 in the search bar113 e, the script 236 included in the network page 103 is executed bythe client application 239 to determine which term in the search bar 113e was selected. The script 236 then modifies the search bar 113 e of thenetwork page to display a list of alternative terms, such as the list ofalternative search terms 123 e (FIG. 1E).

The list of alternative search terms 123 e may be retrieved by thescript 236 in several ways. In some instances, the list of alternativesearch terms 123 e can be stored in locally in the network page 103 orin the client data store 243. In these instances, the script 236 canreference the stored list of alternative search terms 123 e and modifythe network page 103 e (FIG. 1E) to show the list of alternative searchterms 123 e. However, in other instances, the script 236 can insteadrequest one or more alternative terms from the network page server 213.For example, the script 236 may send a request for alternative terms tothe network page server 213 and include in the request the term that theuser selected in the search bar 113 e of the network page 103 e.

In response, the network page server 213 can identify which search termsare valid alternatives to the term provided by the script 236 and sendthe identified alternative terms to the script 236. For example, thenetwork page server 213 can request that the search engine 216 provide alist of alternative search terms 123 e (FIG. 1E). The search engine 216can then analyze one or more previously submitted search queries 226that include one or more search terms 116 d previously submitted. Basedon the analysis of the previously submitted search queries 226, thesearch engine 216 can determine which search terms 116 would correspondto an alternative to the selected search term 116. For example, thesearch engine 216 could identify previously submitted search queries 226that differ by a single search term 116 to determine which search termsto include in the list of alternative search terms 123 e. The searchengine 216 then provides the list of alternative search terms 123 e tothe network page server 213, which then forwards the list of alternativesearch terms 116 to the script 236.

After a user has selected an alternative term, the script 236 thennotifies the network page server 213 which alternative term wasselected. The network page server 213 then submits a search query 226 tothe search engine 216. The search query 226 contains one or more of thepreviously submitted search terms 116 in addition to the alternativesearch term 116 selected by the user. The search engine 216 thenidentifies one or more search results 119 from the search index 233 andprovides the search results 119 to the network page server 213. Thenetwork page server 213 then provides the search results 119 to thescript 236, which modifies the network page 103 to include the newsearch results 119.

Referring next to FIG. 3, shown is a flowchart that provides one exampleof the operation of a portion of the network page server 213 accordingto various embodiments. It is understood that the flowchart of FIG. 3provides merely an example of the many different types of functionalarrangements that may be employed to implement the operation of theportion of the network page server 213 as described herein. As analternative, the flowchart of FIG. 3 may be viewed as depicting anexample of elements of a method implemented in the computing environment203 (FIG. 2) according to one or more embodiments.

Beginning with box 303, the network page server 213 generates a networkpage 103. To generate the network page 103, the network page server 213retrieves a document identified by a uniform resource locator (URL)submitted by the client application 239. The document may, for example,correspond to a static file or it may include various logical functionsinstructing the network page server 213 how to generate the network page103 in a programmatic manner. For example, if the document correspondsto a server-side script, such as an ACTIVE SERVER PAGE (ASP) script, aPHP: HYPERTEXT PREPROCESSOR (PHP)® script, or similar server script,then the network page server 213 may programmatically generate thenetwork page 103.

Moving on to box 306, the network page server 213 can embed a script 236into the generated network page 103. In some instances, the script 236can be embedded as part of the network page generation process describedabove in box 303. In other instances, the script 236 may embedded in aseparate step, such as at box 306. For example, the network page server213 may edit the HTML of the network page 103 to add the script 236 atpredetermined or predefined locations based on the content of the HTMLfile for the network page 103.

Proceeding next to box 309, the network page server 213 sends thegenerated network page 103 to the client application 239. For example,the network page server 213 can include the network page 103 in ahypertext transfer protocol (HTTP) response. Alternatively, the networkpage server 213 can include the network page 103 or portions of thenetwork page 103 in some other type of response.

Referring next to box 313, the network page server 213 then receives analternative search term 116 from the embedded script 236. In someinstances, the script 236 can submit the alternative search term 116along with one or more other search terms 116, such search terms 116submitted as part of a prior search query 226. For example, the script236 can submit the alternative search term 116 along with remainingterms in a previously submitted search query 226 in order to obtainupdated search results 119. Likewise, the script 236 can submit thealternative search term 116 along with one or more terms in a productdescription in order to obtain the appropriate listing from a productcatalog. As another example, the script 236 can submit the alternativesearch term 116 along with the search term 116 being replaced in orderto the network page server 213 to replace the search term 116 with thealternative search term 116 in a previously submitted search query 226.In this example, a search using the previously submitted search query226 would be executed using the new search term 116.

Moving to box 316, the network page server 213 causes a search using thealternative search term 116 to be performed. In some instances, thenetwork page server 213 may submit the alternative search term 116 andone or more other search terms 116, such as one or more search terms 116of a previously submitted search query 226 to the search engine 213. Inother instances, the network page server 213 can use the alternativesearch term 116 and one or more other search terms 116 (e.g., productdescription terms) to retrieve a specific page from the search index233, such as a product or item detail page from a product catalog.Proceeding next to box 319, the network page server 213 provides theresults of the search using the search query 226 previously submitted inbox 316 to the script 236.

Referring next to FIG. 4, shown is a flowchart that provides one exampleof the operation of a portion of the search engine 216 according tovarious embodiments. It is understood that the flowchart of FIG. 4provides merely an example of the many different types of functionalarrangements that may be employed to implement the operation of theportion of the search engine 216 as described herein. As an alternative,the flowchart of FIG. 4 may be viewed as depicting an example ofelements of a method implemented in the computing environment 203 (FIG.2) according to one or more embodiments.

Beginning with box 403, the search engine 216 receives a request for oneor more alternatives to search term 116 included in the request. In someinstances, the request may be received from the network page server 213.In other instances, the request may be received from the clientapplication 239. The request for the alternative search term 116 mayinclude one or more other search terms 116 included in a search query226 originally submitted by the client application 239.

Proceeding to box 406, the search engine 216 identifies one or morerelated queries. For example, the search engine 216 may identifypreviously submitted search queries 226 that share one or more searchterms 116 with the search query 226 that was originally provided by theclient application 239. For instance, the search engine 216 may do aword for word comparison of each search term 116 in a previouslysubmitted query 226 to each search term 116 in the search query 226originally provided by the client application 239.

Preferentially, the search engine 216 may identify previously submittedsearch queries 226 that differ by a single search term 116 from thesearch query 226 originally submitted by the client application 239.This allows the search engine 216 to identify alternative search terms116 that would produce the most relevant search results 119. However,the search engine 216 can use a more relaxed threshold in someembodiments if necessary, such as when an alternative search term wouldproduce too few search results 119.

Moving to box 409, the search engine 216 identifies related search terms116 based at least in part on the related search queries 226. In someembodiments, the search engine 216 can identify any search term 116included in a related search query 226 that was not present in thesearch query 226 originally submitted by the client application 239 as apotentially alternative search term 116. However, in some embodiments,the search engine 216 may perform additional filtering. For example, ifthe search term 116 for which an alternative is sought corresponds to anumber, non-numeric search terms 116 may be excluded. Likewise, if thesearch term 116 for which an alternative is sought corresponds to adescriptor, such as an adjective, then non-descriptive search terms 116(e.g., nouns) may be excluded. As an example, if an alternative for thecolor “red” is desired, the term “truck” may be excluded as a possiblealternative search term 116.

Referring next to box 413, the all of the search terms 116 identified inbox 409 are added to a list of alternative search terms. Proceeding nextto box 416, the list of alternative search terms is then provided in aresponse. If the request was originally received from the network pageserver 213, then the list of alternative search terms is provided in aresponse sent to the network page server 213. Similarly, if the requestwas instead received from the client application 239, then the list ofalternative search terms is provided in a response sent to the clientapplication 239.

Referring next to FIG. 5, shown is a flowchart that provides one exampleof the operation of a portion of the search engine 216 according tovarious embodiments. It is understood that the flowchart of FIG. 5provides merely an example of the many different types of functionalarrangements that may be employed to implement the operation of theportion of the search engine 216 as described herein. As an alternative,the flowchart of FIG. 5 may be viewed as depicting an example ofelements of a method implemented in the computing environment 203 (FIG.2) according to one or more embodiments.

Beginning with box 503, the search engine 216 receives a request thatincludes one or more search terms 116 to be included in a potentialsearch query 226. These search terms 116 can include an alternativesearch term 116, such as an alternative search term 116 identified inthe method depicted in FIG. 4, and a list of other potential searchterms 116. The In some instances, the request may be received from thenetwork page server 213. In other instances, the request may be receivedfrom the client application 239.

Moving to box 506, the search engine 216 determines whether thealternative search term 116 is mutually exclusive with any of the othersearch terms 116 in the potential search query 226. Two search terms 116may be mutually exclusive if no search results 119 or entries in asearch index 233 would match a search query 226 that includes the twosearch terms 116. In order to determine whether two search terms 116 aremutually exclusive, the search engine 216 can pursue one or moreapproaches.

First, the search engine 216 can run a search query 226 that includestwo potentially mutually exclusive search terms 116. If no searchresults 119 are identified, such as entries in the search index 233,then the search engine 216 can conclude that the two search terms 116are mutually exclusive.

In embodiments where the search engine 216 is browsing a product catalogor similar search index 233, the search engine 216 can instead determinewhether the two search terms 116 appear together in any entry in thesearch index 233. For example, given the search terms “red 4×4 truck,”the search engine 216 can parse each entry for a “truck” in the searchindex 233 to determine whether the search term 116 “red” appears in thesame entry as the search term 116 “4×4.” If no entry containing bothsearch terms 116 exists, then the search engine 216 can determine thatthe search terms 116 “red” and “4×4” are mutually exclusive.

Proceeding to box 509, the search engine 216 provides a responseidentifying the mutually exclusive search terms 116. If the request wasoriginally received from the network page server 213, then the mutuallyexclusive search terms 116 are provided in a response sent to thenetwork page server 213. Similarly, if the request was instead receivedfrom the client application 239, then the mutually exclusive searchterms 116 are provided in a response sent to the client application 239.

Referring next to FIG. 6, shown is a flowchart that provides one exampleof the operation of a portion of the script 236 according to variousembodiments. It is understood that the flowchart of FIG. 6 providesmerely an example of the many different types of functional arrangementsthat may be employed to implement the operation of the portion of thescript 236 as described herein. As an alternative, the flowchart of FIG.6 may be viewed as depicting an example of elements of a methodimplemented in the computing environment 203 (FIG. 2) according to oneor more embodiments.

Beginning with box 603, the script 236 identifies a search term 116selected by a user. This can be accomplished through several approaches.For example, each search term 116 displayed on a network page 103 (FIG.2) may have a corresponding snippet of executable code (e.g.,JAVASCRIPT®, VBSCRIPT®, or a similar scripting language) associated withit. This code can execute whenever a user selects the search term 116(e.g., when a mouse click occurs), thereby identifying the search term116 as being selected.

Proceeding to box 606, the script 236 can request a list of alternativesto the selected search term 116. The request can include the identity ofthe search term 116 selected and can also include other search terms116, such as additional search terms 116 in a previously submittedsearch query 226 or additional terms included in the title of thenetwork page 103. In some instances, the request can be sent to thenetwork page server 213. In other instances, the request can be sent tothe search engine 216.

Moving on to box 609, the script 236 displays a list of alternatives tothe selected search term 116. Accordingly, the script 236 causes theclient application 239 to render a user interface element on the displayof the client device 206 containing a list of alternatives to theselected search term 116. In some instances, the user interface elementcan be rendered as an overlay of the network page 103. In otherinstances, the script 236 could cause a new window (e.g., a pop-upwindow) to open that contains the list of alternatives to the selectedsearch term 116. The user is then able to select a term 116 from thelist of alternative terms 109 b presented. As an example, the script 236could display a list of alternative search terms 116 in a mannerdepicted in FIG. 1B. As another example, the script 236 could display alist of alternative search terms 116 in a manner depicted in FIG. 1E.

Referring next to box 613, the script 236 can identify a potentiallyselected term from the list of alternative search terms displayed. Forexample, if a user's mouse is positioned over a search term 116, but hasnot clicked on the search term 116, then the script 236 can identify thesearch term 116 as being potentially selected. In some instances, athreshold time value may be used to further refine the identification.For example, the script 236 may only identify a search term 116 as beingpotentially selected if a mouse cursor has hovered over the search term116 for at least a half-second, one second, etc.

Proceeding to box 616, the script 236 determines whether the potentiallyselected search term 116 is mutually exclusive with any of the othersearch terms 116. For example, if a user has selected a potentialalternative to a term in a title element 106 b (FIG. 1B), then thescript 236 may determine whether any of the other terms in the titleelement 106 b are mutually exclusive with the potential alternative.Likewise if the user has selected a potential alternative to a searchterm 116 in a previously submitted search query 226 (FIG. 1E), then thescript 236 may determine whether any of the other search terms 116 inthe search query 226 are mutually exclusive with the potentialalternative. To make this determination, the script 236 can include thealternative term and other search terms 116 in a request to the searchengine 216. The script 236 can then wait until a reply is received fromthe search engine 216 indicating whether any of the search terms 116 aremutually exclusive with the alternative term 116. If a mutuallyexclusive search term 116 is identified, then execution proceeds to box619. If no mutually exclusive search terms 116 are identified, thenexecution skips to box 623.

If execution proceeds to box 619, the script 236 rerenders the searchterm 116 identified as mutually exclusive in order to provide the userwith feedback. For example, the script 236 may remove the mutuallyexclusive search term 116 from the network page 103. As another example,the script 236 may change the color of the search term 116 to indicatethat it is mutually exclusive with the potential alternative term 116.

When execution proceeds to box 623, the script 236 determines whetherthe potential alternative term 116 is selected by the user. For example,the script 236 could detect that the user has clicked on the potentialalternative term 116 with his or her mouse cursor. Likewise, the script236 could determine that a user has pressed on a touchscreen display inthe region where the potential alternative term 116 is being rendered.Other approaches may also be used for various implementations. Ifpotential alternative term 116 is not selected, then execution proceedsback to box 613. For example, if a user moved their mouse cursor toanother term 116, then execution could proceed to box 613. However, ifthe user selected the potential alternative term 116, then executionproceeds to box 626.

Referring next to box 626, the script 236 submits a new search querycontaining the alternative term. The new search query 226 can alsoinclude other terms, such as other search terms 116 included in apreviously submitted search query 226 or other terms in a title element106 b of a network page. In some embodiments, the search query 226 maybe submitted to the network page server 213 for processing. In otherembodiments, the search query 226 may be submitted directly to thesearch engine 216.

Moving on to box 629, the script 239 renders the results of the searchquery 226 submitted in box 626. For example, the script 239 may replacethe previously displayed search results 119 with the new search results119. Execution of the script subsequently ends.

With reference to FIG. 7, shown is a schematic block diagram of thecomputing environment 203 according to an embodiment of the presentdisclosure. The computing environment 203 includes one or more computingdevices 703. Each computing device 703 includes at least one processorcircuit, for example, having a processor 706 and a memory 709, both ofwhich are coupled to a local interface 713. To this end, each computingdevice 703 may include, for example, at least one server computer orlike device. The local interface 713 may include, for example, a databus with an accompanying address/control bus or other bus structure ascan be appreciated.

Stored in the memory 709 are both data and several components that areexecutable by the processor 706. In particular, stored in the memory 709and executable by the processor 706 are the network page server 213, thesearch engine 216, or potentially other applications. Also stored in thememory 709 may be a data store 223 and other data. In addition, anoperating system may be stored in the memory 709 and executable by theprocessor 706.

It is understood that there may be other applications that are stored inthe memory 709 and are executable by the processor 706 as can beappreciated. Where any component discussed herein is implemented in theform of software, any one of a number of programming languages may beemployed such as, for example, C, C++, C #, Objective C, Java®,JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, or otherprogramming languages.

A number of software components are stored in the memory 709 and areexecutable by the processor 706. In this respect, the term “executable”means a program file that is in a form that can ultimately be run by theprocessor 706. Examples of executable programs may be, for example, acompiled program that can be translated into machine code in a formatthat can be loaded into a random access portion of the memory 709 andrun by the processor 706, source code that may be expressed in properformat such as object code that is capable of being loaded into a randomaccess portion of the memory 709 and executed by the processor 706, orsource code that may be interpreted by another executable program togenerate instructions in a random access portion of the memory 709 to beexecuted by the processor 706, etc. An executable program may be storedin any portion or component of the memory 709 including, for example,random access memory (RAM), read-only memory (ROM), hard drive,solid-state drive, USB flash drive, memory card, optical disc such ascompact disc (CD) or digital versatile disc (DVD), floppy disk, magnetictape, or other memory components.

The memory 709 is defined herein as including both volatile andnonvolatile memory and data storage components. Volatile components arethose that do not retain data values upon loss of power. Nonvolatilecomponents are those that retain data upon a loss of power. Thus, thememory 709 may include, for example, random access memory (RAM),read-only memory (ROM), hard disk drives, solid-state drives, USB flashdrives, memory cards accessed via a memory card reader, floppy disksaccessed via an associated floppy disk drive, optical discs accessed viaan optical disc drive, magnetic tapes accessed via an appropriate tapedrive, or other memory components, or a combination of any two or moreof these memory components. In addition, the RAM may include, forexample, static random access memory (SRAM), dynamic random accessmemory (DRAM), or magnetic random access memory (MRAM) and other suchdevices. The ROM may include, for example, a programmable read-onlymemory (PROM), an erasable programmable read-only memory (EPROM), anelectrically erasable programmable read-only memory (EEPROM), or otherlike memory device.

Also, the processor 706 may represent multiple processors 706 ormultiple processor cores and the memory 709 may represent multiplememories 709 that operate in parallel processing circuits, respectively.In such a case, the local interface 713 may be an appropriate networkthat facilitates communication between any two of the multipleprocessors 706, between any processor 706 and any of the memories 709,or between any two of the memories 709, etc. The local interface 713 mayinclude additional systems designed to coordinate this communication,including, for example, performing load balancing. The processor 706 maybe of electrical or of some other available construction.

Although network page server 213, the search engine 216, and othervarious systems described herein may be embodied in software or codeexecuted by general purpose hardware as discussed above, as analternative the same may also be embodied in dedicated hardware or acombination of software/general purpose hardware and dedicated hardware.If embodied in dedicated hardware, each can be implemented as a circuitor state machine that employs any one of or a combination of a number oftechnologies. These technologies may include, but are not limited to,discrete logic circuits having logic gates for implementing variouslogic functions upon an application of one or more data signals,application specific integrated circuits (ASICs) having appropriatelogic gates, field-programmable gate arrays (FPGAs), or othercomponents, etc. Such technologies are generally well known by thoseskilled in the art and, consequently, are not described in detailherein.

The flowcharts of FIGS. 3, 4, and 5 show the functionality and operationof an implementation of portions of the network page server 213 and thesearch engine 216. Likewise, the flowchart of FIG. 6 shows thefunctionality and operation of an implementation of portions of thescript 236. If embodied in software, each block may represent a module,segment, or portion of code that includes program instructions toimplement the specified logical function(s). The program instructionsmay be embodied in the form of source code that includes human-readablestatements written in a programming language or machine code thatincludes numerical instructions recognizable by a suitable executionsystem such as a processor 706 in a computer system or other system. Themachine code may be converted from the source code, etc. If embodied inhardware, each block may represent a circuit or a number ofinterconnected circuits to implement the specified logical function(s).

Although the flowcharts of FIGS. 3, 4, 5, and 6 show a specific order ofexecution, it is understood that the order of execution may differ fromthat which is depicted. For example, the order of execution of two ormore blocks may be scrambled relative to the order shown. Also, two ormore blocks shown in succession in FIGS. 3, 4, 5, and 6 may be executedconcurrently or with partial concurrence. Further, in some embodiments,one or more of the blocks shown in FIGS. 3, 4, 5, and 6 may be skippedor omitted. In addition, any number of counters, state variables,warning semaphores, or messages might be added to the logical flowdescribed herein, for purposes of enhanced utility, accounting,performance measurement, or providing troubleshooting aids, etc. It isunderstood that all such variations are within the scope of the presentdisclosure.

Also, any logic or application described herein, including network pageserver 213 and the search engine 216, that includes software or code canbe embodied in any non-transitory computer-readable medium for use by orin connection with an instruction execution system such as, for example,a processor 706 in a computer system or other system. In this sense, thelogic may include, for example, statements including instructions anddeclarations that can be fetched from the computer-readable medium andexecuted by the instruction execution system. In the context of thepresent disclosure, a “computer-readable medium” can be any medium thatcan contain, store, or maintain the logic or application describedherein for use by or in connection with the instruction executionsystem.

The computer-readable medium can include any one of many physical mediasuch as, for example, magnetic, optical, or semiconductor media. Morespecific examples of a suitable computer-readable medium would include,but are not limited to, magnetic tapes, magnetic floppy diskettes,magnetic hard drives, memory cards, solid-state drives, USB flashdrives, or optical discs. Also, the computer-readable medium may be arandom access memory (RAM) including, for example, static random accessmemory (SRAM) and dynamic random access memory (DRAM), or magneticrandom access memory (MRAM). In addition, the computer-readable mediummay be a read-only memory (ROM), a programmable read-only memory (PROM),an erasable programmable read-only memory (EPROM), an electricallyerasable programmable read-only memory (EEPROM), or other type of memorydevice.

Further, any logic or application described herein, including thenetwork page server 213, the search engine 216, may be implemented andstructured in a variety of ways. For example, one or more applicationsdescribed may be implemented as modules or components of a singleapplication. Further, one or more applications described herein may beexecuted in shared or separate computing devices or a combinationthereof. For example, a plurality of the applications described hereinmay execute in the same computing device 703, or in multiple computingdevices in the same computing environment 203.

Disjunctive language such as the phrase “at least one of X, Y, or Z,”unless specifically stated otherwise, is otherwise understood with thecontext as used in general to present that an item, term, etc., may beeither X, Y, or Z, or any combination thereof (e.g., X, Y, or Z). Thus,such disjunctive language is not generally intended to, and should not,imply that certain embodiments require at least one of X, at least oneof Y, or at least one of Z to each be present.

It should be emphasized that the above-described embodiments of thepresent disclosure are merely possible examples of implementations setforth for a clear understanding of the principles of the disclosure.Many variations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of this disclosure andprotected by the following claims.

Therefore, the following is claimed:
 1. A system for providing relatedresults for items in an electronic commerce marketplace, the systemcomprising: at least one computing device comprising at least oneprocessor; and at least one memory comprising executable instructionsthat, when executed by the at least one processor, cause the at leastone computing device to at least: receive a user-initiated searchrequest; transmit, in response to the user-initiated search request,data to display a product detail page for a product listing, the productdetail page comprising a title of the product listing, the titlecomprising at least one user-selectable attribute; receive an indicationof a user-selected attribute selected from the title; search, inresponse to the indication of the user-selected attribute, a productcatalog for at least one available product comprising at least onedifferent attribute value for the user-selected attribute; transmit datathat updates the product detail page to include a menu adjacent to thetitle, the menu comprising the at least one different attribute valuefor the user-selected attribute; receive a selection of a differentattribute value from the menu; and transmit data to display a differentproduct detail page comprising the different attribute value for theuser-selected attribute in the title.
 2. The system of claim 1, whereinthe menu is rendered as an overlay adjacent to the title on the productdetail page.
 3. The system of claim 1, wherein the menu comprises apop-up window overlaid adjacent to the title over the product detailpage.
 4. The system of claim 1, wherein the menu comprises amodification of the title to include the at least one differentattribute value for the user-selected attribute.
 5. The system of claim1, wherein the indication of a user-selected attribute is received froma client device based at least in part on a script provided in the datato display the product detail page.
 6. The system of claim 1, whereinthe at least one user-selectable attribute corresponds to at least oneof a size, a quantity, or a color.
 7. The system of claim 1, the atleast one user-selectable attribute is bolded, highlighted, outlined, orcolored to indicate that the user-selectable attribute is modifiable. 8.A method, comprising: generating, by at least one computing device, anetwork page that includes a title comprising at least oneuser-selectable attribute corresponding to an item listing presented onthe network page; searching, by the at least one computing device, inresponse to an indication of a user-selected attribute being selectedfrom the title, an item catalog to identify at least one available itemcomprising at least one different attribute value for the user-selectedattribute; updating, by the at least one computing device, the networkpage to include a menu in place of the user-selected attribute of thetitle, the menu comprising the at least one different attribute valuefor the user-selected attribute; identifying, by the at least onecomputing device, a user-selection of a different attribute value fromthe menu; and updating, by the at least one computing device, thenetwork page to include the different attribute value in place of theuser-selected attribute in the title, and an available item listingcorresponding to the different attribute value.
 9. The method of claim8, wherein the at least one user-selectable attribute is emphasized withrespect to other portions of the title to indicate that theuser-selectable attribute is modifiable.
 10. The method of claim 8,wherein identifying the user-selection of the different attribute valuecomprises receiving an indication of the user-selected attribute from aclient device.
 11. The method of claim 8, wherein the network page isupdated to include the menu based at least in part on the at least onedifferent attribute value for the user-selected attribute beingtransmitted from a server device to a client device.
 12. The method ofclaim 8, wherein the at least one user-selectable attribute correspondsto a type of distinguishing information for a category of the itemlisting.
 13. The method of claim 8, wherein the menu is included inplace of the user-selected attribute as an overlay on the network page.14. The method of claim 8, wherein the menu is included in place of theuser-selected attribute by a script that modifies the title to includethe at least one different attribute value for the user-selectedattribute.
 15. The method of claim 8, wherein the menu further comprisesthe user-selected attribute.
 16. A non-transitory computer-readablemedium comprising instructions that, when executed by at least oneprocessor of a computing device, cause the computing device to at least:identify a user-selection of a modifiable attribute of a title of anitem listing in an item detail page, the title comprising at least onemodifiable attribute corresponding to the item listing; transmit arequest to search an item catalog for at least one available item basedat least in part on the user-selection of the modifiable attribute;receive, in response to the request to search the item catalog for theat least one available item listing, at least one different attributevalue for the modifiable attribute; update the item detail page toinclude a menu in place of the modifiable attribute of the title, themenu comprising the at least one different attribute value for themodifiable attribute; identify a user-selection of a different attributevalue from the menu; and update the item detail page to include thedifferent attribute value in place of the modifiable attribute in thetitle, and an available item listing corresponding to the differentattribute value.
 17. The non-transitory computer-readable medium ofclaim 16, wherein the at least one modifiable attribute is emphasizedwith respect to other portions of the title.
 18. The non-transitorycomputer-readable medium of claim 16, wherein the instructions, whenexecuted by the at least one processor, further cause the computingdevice to at least: transmit a user-initiated search request; and renderthe item detail page for display.
 19. The non-transitorycomputer-readable medium of claim 16, wherein the at least onemodifiable attribute corresponds to a type of distinguishing informationfor a category of the item listing.
 20. The non-transitorycomputer-readable medium of claim 16, wherein the menu is rendered as anoverlay on the item detail page.